#ifndef VCACHE_H
#define VCACHE_H

#include "types.h"

extern void cachesingle4bng();
extern void cachesprites();
extern void cachetile2b();
extern void cachetile2b16x16();
extern void cachetile4b();
extern void cachetile4b16x16();
extern void cachetile8b();
extern void cachetile8b16x16();
extern void processsprites();

extern u1 lineleft;
extern u1 res480;
extern u1 res640;
extern u1 sprprifix;
extern u1 videotroub;
extern u2 dcolortab[2][256];
extern u2 vesa2_bfull;       // red max (or bit*1Fh)
extern u2 vesa2_btrcl;       // red transparency clear     (bit+4)
extern u2 vesa2_btrcla;      // red transparency (AND) clear (not(bit+4))
extern u2 vesa2_clbit;       // clear all bit 0's if AND is used
extern u2 vesa2_gfull;       // red max (or bit*1Fh)
extern u2 vesa2_gtrcl;       // red transparency clear     (bit+4)
extern u2 vesa2_gtrcla;      // red transparency (AND) clear (not(bit+4))
extern u2 vesa2_rfull;       // red max (or bit*1Fh)
extern u2 vesa2_rtrcl;       // red transparency clear     (bit+4)
extern u2 vesa2_rtrcla;      // red transparency (AND) clear (not(bit+4))
extern u2 vesa2_usbit;       // Unused bit in proper bit location
extern u2 vesa2_x;           // Desired screen width
extern u2 vesa2_y;           // Height
extern u4 OMBGTestVal;
extern u4 ngptrdat2;
extern u4 ofshvaladd;
extern u4 ofsmcptr2;
extern u4 ofsmtptrs;
extern u4 vesa2_bits;        // Bits per pixel
extern u4 vesa2_bpos;        // Blue bit position
extern u4 vesa2_bposng;      // Blue bit position
extern u4 vesa2_clbitng2[2]; // clear all bit 0's if AND is used
extern u4 vesa2_clbitng3;    // clear all bit 0's if AND is used
extern u4 vesa2_clbitng;     // clear all bit 0's if AND is used
extern u4 vesa2_gpos;        // Green bit position
extern u4 vesa2_gposng;      // Green bit position
extern u4 vesa2_rpos;        // Red bit position
extern u4 vesa2_rposng;      // Red bit position
extern u4 vesa2red10;        // red position at bit 10

#endif
